<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
    <title>XBRLAPI XBRL Aspects.</title>
</head>
<body bgcolor="white">

<h2>Package Specification</h2>

<p>The aspects package provides comprehensive support of OLAP
    interactions with XBRL data. Each XBRL fact has a range of
    characteristics. These characteristics are referred to as aspects.
    Aspects include but are not limited to, the concept (element) that is
    used to report values for the fact, the date or date range that the fact
    reports a value for; and the units of measurement - for numeric facts.</p>

<p>However, aspects are only limited by the imagination of users.
    For example, an aspect might be the first letter of the reporting
    concept's standard english label. Another aspect might be the extended
    link role of the presentation network that includes the reporting
    concept as a node. For this reason, aspects are extensible such that new
    aspects to be defined, as required, to extend the range of OLAP
    structures that can be used to analyse XBRL data.</p>

<p>To define a new aspect, you must provide the {@link org.xbrlapi.aspects.Aspect aspect
    implementation} and the associated {@link org.xbrlapi.aspects.AspectValue aspect value
    implementation}. You also need to define an {@link org.xbrlapi.aspects.Domain aspect value
    domain implementation} to define thedomain of values for the custom
    aspect.</p>

<p>Aspects can be organised into groups and this is done by defining
    {@link org.xbrlapi.aspects.AspectModel aspect models}. Aspects in a model can be put into
    ordered groups, identified as axes. {@link org.xbrlapi.aspects.Combinations Aspect value
    combinations} define combinations of values for the aspects in a given
    axis of an aspect model. The aspect values that are combined are
    determined outside of the combinations object and are generally based on
    a set of facts, aspect domains, or a combination of the two.</p>

<p>{@link org.xbrlapi.aspects.FactSet Fact sets} are a combination of an aspect model, that
    defines the dimensions of the cube, a domain for each aspect, and a set
    of facts, each of which may map to a point defined by the aspect value
    space. Fact sets keep track of which aspect value, if any, in each domain
    each fact maps to. This information can be cached for performance
    purposes.</p>

<p>The caching of aspect values and all the various information
    about labels etc by locale/role choice etc is separable from the
    implementation of aspects so that you can swap in and out various
    caching strategies to achieve the desired point in the
    complexity/performance tradeoff.</p>

<!-- Put @see and @since tags down here. -->

<p>xbrlapi.org Java library providing XBRL functionality Copyright
    (C) 2005, Geoffrey Shuetrim (geoff@galexy.net)</p>

<p>This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public License as
    published by the Free Software Foundation; either version 3 of the
    License (http://www.gnu.org/licenses/lgpl.html), or (at your option) any
    later version.</p>

<p>This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the <a
            href="http://www.gnu.org/copyleft/lesser.html"> GNU Lesser General
        Public License for more details. </a></p>

<p>You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
</p>

</body>
</html>